package com.ctvit.sjk.knowledge.app.pojo.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ctvit.sjk.knowledge.core.pojo.domain.BaseDcuEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 应用对象 tab_app
 *
 * @author heyingcheng
 * @date 2025-03-22
 */
@Getter
@Setter
@ToString
public class TabApp extends BaseDcuEntity {

    /**
     * 应用ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String appId;

    /**
     * 应用名称
     */
    private String appName;

    /**
     * 应用描述
     */
    private String appDesc;

    /**
     * 应用介绍
     */
    private String prologue;

    /**
     * 对话数量
     */
    private Integer dialogueNum;

    /**
     * 数据集设置的JSON表示
     */
    private String datasetSetting;

    /**
     * 模型设置的JSON表示
     */
    private String modelSetting;

    /**
     * 是否启用问题优化
     */
    private Boolean problemOptimization;

    /**
     * LLM模型ID
     */
    private String modelId;

    /**
     * 模型参数设置的JSON表示
     */
    private String modelParamSetting;

    /**
     * 应用图标
     */
    private String appIcon;

    /**
     * 应用程序类型
     */
    private String appType;

    /**
     * 工作流设置的JSON表示
     */
    private String workflow;

    /**
     * STT模型ID
     */
    private String sttModelId;

    /**
     * 是否启用STT模型
     */
    private Boolean sttModelEnable;

    /**
     * TTS模型参数设置的JSON表示
     */
    private String sttModelParamSetting;

    /**
     * 是否自动发送STT请求
     */
    private Boolean sttAutosend;

    /**
     * TTS模型ID
     */
    private String ttsModelId;

    /**
     * 是否启用TTS模型
     */
    private Boolean ttsModelEnable;

    /**
     * TTS模型参数设置的JSON表示
     */
    private String ttsModelParamSetting;

    /**
     * 是否自动播放TTS结果
     */
    private Boolean ttsAutoplay;

    /**
     * TTS类型,BROWSER
     */
    private String ttsType;

    /**
     * 问题优化提示，较长文本
     */
    private String problemOptimizationPrompt;

    /**
     * 清理时间间隔
     */
    private Integer cleanTime;

    /**
     * 是否启用文件上传
     */
    private Boolean fileUploadEnable;

    /**
     * 文件上传设置的JSON表示
     */
    private String fileUploadSetting;

}
